Among techniques for converting any color is an emulation technique using a 3D lookup table (3D LUT). Unlike a table for each of R, G, and B such as a traditional 1D LUT, a 3D LUT is handled as an RGB cube-shaped, color-mixing table. Performing emulation with high color reproducibility requires generating a 3D LUT having a great number of lattice points. However, as the number of lattice points increases, the generation and operation of the 3D LUT becomes a larger load. For this reason, if R, G, and B each have, for example, 256 gradations, color conversion is typically performed by thinning out the number of lattice points to about 17×17×17 and interpolating gradation values between the lattice points.
If there is used a 3D LUT in which the number of the lattice points are thinned out, accuracy degradation (error) occurs when interpolation is performed, and the color reproducibility between the lattice points degrades. For this reason, for example, there has been proposed a method which includes color-converting R, G, and B using respective 1D LUTs and then performing color conversion using a 3D LUT.
In this method, for example, input data of each of R, G, and B is color-converted using a 1D LUT thereof, and the converted data is further color-converted using a 3D LUT. In one-dimensional conversion using each 1D LUT, common one-dimensional conversion components in three-dimensional conversion using the 3D LUT are converted; in three-dimensional conversion using the 3D LUT, three-dimensional conversion components from which the common one-dimensional conversion components are excluded are converted (see Patent Literature 1).